package com.harmony.pilot.common.dto;

import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

/**
 * 代码分析请求
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AnalysisRequest implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * 代码上下文
     */
    @NotNull(message = "代码上下文不能为空")
    private CodeContext context;
    
    /**
     * 分析类型列表（syntax, style, security, performance）
     */
    private List<String> analysisTypes;
    
    /**
     * 是否使用CodeQL
     */
    private Boolean useCodeQL = true;
    
    /**
     * 严重级别过滤（error, warning, info）
     */
    private String severityLevel = "warning";
    
    /**
     * 是否包含修复建议
     */
    private Boolean includeFix = true;
}

